package com.yhy.wxzn.wcs.wcsWmsCommunication;

import com.yhy.wxzn.wcs.wcsWmsCommunication.bean.*;

import java.util.List;

/**
 * @author shaozn
 * @date 2020/1/5 - 19:01
 * @Description TODO
 */
public interface ToWms {

    /**
     * WCS向上位系统发送任务申请
     *
     * @param taskApply
     * @return
     */
    WmsResponses exeTaskApply(TaskApply taskApply);

    /**
     * 空托盘在碟盘机中放满之后WCS向WMS申请入库
     * 拆碟盘机中无空托盘时候向WMS申请出空托盘
     * @param palletRequest
     * @return
     */
    WmsResponses emptyPalletApply(PalletRequest palletRequest);

    /**
     * WCS异步向上位系统上报任务执行阶段
     *
     * @param taskStatusRtn
     */
    void executionPhase(TaskStatusRtn taskStatusRtn);

    /**
     * WCS向WMS上报设备的状态
     *
     * @param deviceErrRtn
     */
    WmsResponses deviceStatus(List<ReturnMsgDevice> deviceErrRtn);
}
